package com.zhouz.admin.app.db.base;


import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

public interface BaseService<T> extends IService<T> {

    /**
     * 真实删除
     * @param queryWrapper
     * @return
     */
    int deleteReal(@Param("ew") Wrapper<T> queryWrapper);

    /**
     * 查询出一个 根据code查询
     * @param key
     * @param val
     * @return
     */
    default T getByKey(String key, String val) {
        return this.getOne(new QueryWrapper<T>().eq(key,val).last("limit 1"));
    }
    /**
     * 更新字段 可为空
     * @param updateWrapper
     * @return
     */
    // int updateAllowNull(@Param("ew") Wrapper<T> updateWrapper);
    /**
     * <p>
     * 查询列表
     * </p>
     *
     * @param wrapper 实体包装类 {@link Wrapper}
     * @return
     */
    //List<T> selectAuto(Wrapper<T> wrapper);
}